/*
 * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package cn.matezk.dms.things.model.entity;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.Data;

import java.util.Calendar;
import java.util.Date;

@Data
public class SimCard {
    @ExcelProperty(value = "ICCID")
    private String iccid;
    @ExcelProperty(value = "卡号")
    private String cardNumber;
    @ExcelProperty(value = "到期时间")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date iccidExpireDate;

    @ExcelProperty(value = "设备到期时间")
    @DateTimeFormat(value = "yyyy-MM-dd")
    private Date expireDate;
    @ExcelProperty(value = "续费月数")
    private Integer renewMonths;

    public String getIccid() {
        return ObjectUtil.isEmpty(iccid) ? cardNumber : iccid;
    }

    public Date getIccidExpireDate() {
        if (ObjectUtil.isNull(iccidExpireDate))
            return null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(iccidExpireDate);
        if (calendar.get(Calendar.DATE) == 1) {
            calendar.add(Calendar.DATE, -1);
        }
        return calendar.getTime();
    }
}
